package com.wfs.loop;

/**
 * 学习for语句：知道循环次数使用
 * for(初始化语句;条件语句;更新语句){
 * 循环体
 * }
 */
public class ForDemo1 {
    public static void main(String[] args) {
        sum(100);
        sumOdd(100);
        shuixianhua();
    }

    /**
     * 1求指定1-j的和
     */
    public static void sum(int j) {
        int sum = 0;
        for (int i = 1; i <= j; i++) {
            sum += i;
        }
        System.out.println(sum);
    }

    /**
     * 2求1-j之间的奇数和
     */
    public static void sumOdd(int j) {
        int sum = 0;
        for (int i = 1; i <= j; i++) {
            if (i % 2 == 1) {
                sum += i;
            }
        }
        System.out.println(sum);
    }

    /**
     * 求水仙花数
     * 水仙花数是指一个n位数（n≥3），它的每个位上的数字的n次幂之和等于它本身。
     * 例如：153是一个3位数，且153=1*1*1+5*5*5+3*3*3，所以153是一个水仙花数。
     */
    public static void shuixianhua() {
        for (int i = 100; i < 1000; i++) {
            int ge = i % 10;
            int shi = i / 10 % 10;
            int bai = i / 100;
            if (ge * ge * ge + shi * shi * shi + bai * bai * bai == i) {
                System.out.println(i);
            }
        }

    }
}
